package com.qf.smartplatform.service.Impl;/*
*王浩政 
*whz
2022/9/13
20:20
*小米商城
*/

import com.qf.smartplatform.mapper.OnlineUserMapper;
import com.qf.smartplatform.pojo.SysUserOnline;
import com.qf.smartplatform.service.OnLineUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;

@Service
@Transactional
public class OnLineUserServiceImpl implements OnLineUserService {

    private OnlineUserMapper onlineUserMapper;

    @Autowired
    public  void setOnlineUserMapper(OnlineUserMapper onlineUserMapper){
        this.onlineUserMapper=onlineUserMapper;
    }


    @Override
    public void addOnLinrData(SysUserOnline sysUserOnline) {

        //因为数据来自于我们自己生成的，不是用户传递的，所以我们可以暂时不进行数据校验
        //我们遇到了一个问题，就是对于同一个用户来说，多次登录只需要保存一条数据，所以这个数据如果一开始是存在的，则应该更新
        //先查询数据是否存在,    我们的判断方式是用主键查询主键，如果能返回结果，则说明存在
        String loginName = onlineUserMapper.dataExist(sysUserOnline.getLoginName());
        if(StringUtils.hasText(loginName)){
            //已经存在了
            onlineUserMapper.updateOnlineData(sysUserOnline);
        }else{
            onlineUserMapper.addOnlineData(sysUserOnline);
        }

        onlineUserMapper.addOnlineData(sysUserOnline);
    }
}
